export{};

// 8.定义一个泛型函数 MyArrayMap(ary: T[], cbk: (val: T) => U): U[]，
// 它可以将数组映射到一个新数组中并返回。

function MyArrayMap<T,U>(ary: T[], cbk: (val: T) => U): U[]{
    return ary.map(cbk)
}
const arr:number[]=[1,2,3,4,5,6,7];
const brr=MyArrayMap<number,number>(arr,(item)=>item*2);
console.log(arr)

// 定义一个泛型类 SomeArray<T>，它可以满足任何元素的添加
// (类中需要有addContent原型方法并使用泛型)。

// class SomeArray<T>{
//     data:number[]=[];
//     addContent(){
        
//     }
// }



// 10.定义一个拥有泛型的接口类型 SomeObject<T>，它可以添加任何值，
// 并提供添加和删除内容的对应方法。
// interface SomeObject<T>{
//     add():void;
//     remove():void;
// }

// class SomeArray<T> implements SomeObject<T>{

// }